
package combat.example.protocol.interfaces;

import java.io.Serializable;
import java.util.ArrayList;

import combat.example.protocol.data.PhysicalObject;
import combat.example.server.protocol.implementation.User;
import combat.example.server.protocol.implementation.Vehicle;


/**
 * @author Laurens Andriessen
 * @version 1.0
 */
public interface TeamInt extends Serializable {

	int teamID = -1;
	public int getTeamID();
	public void setTeamID(int teamID);

	String teamName = "";
	public String getTeamName();
	public void setTeamName(String teamName);

	ArrayList<User> users = null;
	public ArrayList<User> getUsers();
	public void setUsers(ArrayList<User> users);
	// Helpers
	public void addUser(User user);
	public void removeUser(int userID);

	ArrayList<Vehicle> vehicles = null;
	public ArrayList<Vehicle> getVehicles();
	public void setVehicles(ArrayList<Vehicle> vehicles);
	// Helpers
	public void addVehicle(Vehicle vehicle);
	public void removeVehicle(int vehicleID);

	ArrayList<PhysicalObject> tracks = null;
	public ArrayList<PhysicalObject> getTracks();
	public void setTracks(ArrayList<PhysicalObject> tracks);
	// Helpers
	public void addTrack(PhysicalObject track);
	public void removeTrack(PhysicalObject track);

	public void assignUserToVehicle(int userID, int vehicleID);
}
